package com.meilai.project.dto.business.intentionScheme;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.time.LocalDate;
import java.util.List;

/**
 * @author xchen
 * @since 2022-02-20
 */
@Data
@ApiModel
public class PointProcessSearchDTO {

	@ApiModelProperty("choose_id,编辑已存在方案时（特别是锁定时）传，保证不过滤掉自己本身占用的点位")
	private Long choose_id;

	@ApiModelProperty("不包含指定sale的chooseId占用的点位")
	private Long exclude_sale_choose_id;

	@NotNull
	@ApiModelProperty("开始日期")
	private LocalDate beginDate;

	@NotNull
	@ApiModelProperty("结束日期")
	private LocalDate endDate;

	@ApiModelProperty("行政区划List,传对应的adcode")
	private List<String> pcaList;

	@ApiModelProperty("位置纬度信息")
	private List<LocationInfo> positionLocationList;

	@ApiModelProperty("位置半径,不指定传空")
	private Integer positionRadius;

	@ApiModelProperty("选中的楼盘信息")
	private List<BuildingInfo> buildingList;

	@ApiModelProperty("楼盘是否辐射")
	private Boolean buildingRadiation;

	@ApiModelProperty("楼盘半径")
	private Integer buildingRadius;

	@ApiModelProperty("禁投行业id")
	private Integer prohibitIndustryId;

	@ApiModelProperty("点位类型id列表")
	private List<Long> pointTypeIdList;

	@ApiModelProperty("楼层idList")
	private List<Integer> floorList;

	@ApiModelProperty("abType,类型，不过滤传ALL")
	private AbType abType;

	@ApiModelProperty("需要排除在外的点位id列表")
	private List<Long> exclude_media_id_list;

	@ApiModelProperty("需要排查在外的楼盘id列表")
	private List<Long> exclude_building_id_list;

	@ApiModelProperty("必须要包含的点位id列表")
	private List<Long> must_include_media_id_list;

}
